package com.gpframework.module.manufacture.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.gpframework.common.annotation.Excel;
import java.util.Date;
import java.math.BigDecimal;

/**
 * @ClassName GpProductionDetailsVo
 * @Author gpframework
 * @Date 2023-12-11
 * @Version 1.0.0
 * @Description 做货明细Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpProductionDetailsVo {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 缺货报库存申请表id */
    @ApiModelProperty("缺货报库存申请表id")
    private Long productionApplicationId;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String sn;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("回货日期")
    private Date returnTime;

    /** 染厂id */
    @ApiModelProperty("染厂id")
    private Long dyeingFactoryId;

    /** 染厂名称 */
    @Excel(name = "染厂名称")
    @ApiModelProperty("染厂名称")
    private String dyeingFactoryName;

    /** 胚布基础表id */
    @ApiModelProperty("胚布基础表id")
    private Long supplierGreyClothId;

    /** 供应商名称 */
    @Excel(name = "供应商")
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 缸号 */
    @Excel(name = "缸号", sort = 80)
    @ApiModelProperty("缸号")
    private String dyeVatNo;

    /** 供应商胚布品名 */
    @Excel(name = "供应商胚布品名")
    @ApiModelProperty("供应商胚布品名")
    private String supplierGreyClothName;

    /** 产品基础表id */
    @ApiModelProperty("产品基础表id")
    private Long produceProductId;

    /** 产品名 */
    @Excel(name = "品名")
    @ApiModelProperty("产品名")
    private String productName;

    /** 颜色 */
    @Excel(name = "颜色")
    @ApiModelProperty("颜色")
    private String colour;

    /** 颜色对照表id */
    @ApiModelProperty("颜色对照表id")
    private Long colourComparisonId;

    /** 染厂色号（代码） */
    @Excel(name = "染厂色号")
    @ApiModelProperty("染厂色号（代码）")
    private String factoryColourCode;

    /** 颜色备注表id */
    @ApiModelProperty("颜色备注表id")
    private Long colourRemarksId;

    /** 颜色备注 */
    @Excel(name = "颜色备注")
    @ApiModelProperty("颜色备注")
    private String colourRemarks;

    /** 下单数量 */
    @Excel(name = "下单数量")
    @ApiModelProperty("下单数量")
    private Integer orderQuantity;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty("数量")
    private Integer quantity;

    /** 缸数 */
    @Excel(name = "缸数")
    @ApiModelProperty("缸数")
    private Integer dyeVatQuantity;

    /** 做货要求明细表id */
    @ApiModelProperty("做货要求明细表id")
    private Long makingGoodsRequirementDetailsId;

    /** 手感 */
    @Excel(name = "手感")
    @ApiModelProperty("手感")
    private String feel;

    /** 下机幅宽 */
    @Excel(name = "下机幅宽")
    @ApiModelProperty("下机幅宽")
    private String lowerMachineWidth;

    /** 克重 */
    @Excel(name = "克重")
    @ApiModelProperty("克重")
    private String gramWeight;

    /** 打码规格表id */
    @ApiModelProperty("打码规格表id")
    private Long codingSpecificationsId;

    /** 打码规格 */
    @Excel(name = "打码规格")
    @ApiModelProperty("打码规格")
    private String codingSpecifications;

    /** 标签规格 */
    @Excel(name = "标签规格")
    @ApiModelProperty("标签规格")
    private String tagSpecifications;

    /** 送货地基础表id */
    @Excel(name = "送货地基础表id")
    @ApiModelProperty("送货地基础表id")
    private Long deliveryLocationId;

    /** 送货地 */
    @Excel(name = "送货地")
    @ApiModelProperty("送货地")
    private String deliveryLocation;

    /** 物流基础表id */
    @ApiModelProperty("物流基础表id")
    private Long logisticsId;

    /** 物流 */
    @Excel(name = "物流")
    @ApiModelProperty("物流")
    private String logistics;

    /** 产品备注基础表id */
    @ApiModelProperty("产品备注基础表id")
    private Long makingGoodsRemarksId;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String makingGoodsRemarks;

    /** 销售员id */
    @ApiModelProperty("销售员id")
    private Long salesmanId;

    /** 销售员名称 */
    @Excel(name = "销售员")
    @ApiModelProperty("销售员名称")
    private String salesmanName;

    /** 是否分享图片： 0否 1是 */
    @Excel(name = "是否分享图片", dictType = "enable_flag")
    @ApiModelProperty("是否分享图片： 0否 1是")
    private String imgShareFlag;

    /** 是否下单： 0否 1是 */
    @Excel(name = "是否下单", dictType = "enable_flag")
    @ApiModelProperty("是否下单： 0否 1是")
    private String placeAnOrderFlag;

    /** 申请人id */
    @ApiModelProperty("申请人id")
    private Long applicantId;

    /** 申请人名称 */
    @Excel(name = "申请人")
    @ApiModelProperty("申请人名称")
    private String applicantName;

    /** 申请时间 */
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("申请时间")
    private Date applicantTime;

    /** 跟单人id */
    @ApiModelProperty("跟单人id")
    private Long followUpId;

    /** 跟单人名称 */
    @Excel(name = "跟单员")
    @ApiModelProperty("跟单人名称")
    private String followUpName;

    /** 跟单时间 */
    @Excel(name = "跟单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("跟单时间")
    private Date followUpTime;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /** 列表是否修改字段（前端使用） */
    private Boolean clickEdit = false;

    /** 操作人名称 */
    @ApiModelProperty("操作人名称")
    private String operatorName;
    /** 操作人编号 */
    @ApiModelProperty("操作人编号")
    private String operatorNum;


    /** 实际胚布用量 */
    @ApiModelProperty("实际胚布用量")
    private Integer actualGreyUsed;

    /** 胚布库存数量 */
    @ApiModelProperty("胚布库存数量")
    private Integer stockGreyNum;

    /** 胚布剩余数量 */
    @ApiModelProperty("胚布剩余数量")
    private Integer leaveGreyNum;


    /** 备注基础表id */
    @ApiModelProperty("备注基础表id")
    private Long remarksId;



    /** 供应商送货件数 */
    @ApiModelProperty("供应商送货件数")
    private Integer supplierDeliveryQuantity;
}
